package com.eling.elcms.travel.service;

import com.eling.elcms.basedoc.model.Room;
import com.eling.elcms.core.service.IGenericManager;
import com.eling.elcms.travel.model.RoomRegister;
import com.eling.elcms.travel.model.view.RoomRegisterListView;
import com.eling.elcms.travel.model.view.RoomStatusView;
import com.eling.elcms.travel.model.view.RoomView;

import java.util.Date;
import java.util.List;

public interface IRoomRegisterManager extends IGenericManager<RoomRegister, Long>{

	/**
	 * 房间落实
	 * @param roomRegister 房间登记信息
	 * @return 房间登记信息
	 */
	RoomRegister confirm(RoomRegister roomRegister);

	RoomRegister saveMeter(RoomRegister cond);

	List<RoomRegister> queryMeter(Long pkCheckInImplement);

	RoomRegister updateStatus(Long pkCheckInImplement);

	List<Room> queryRoomByStatus(Room cond);

	List<RoomStatusView> queryRoomStatus(Room cond, Date startDate, Date endDate);
	
	RoomRegisterListView saveNewRoomRegister(RoomRegisterListView cond);

	Long queryPk(Long pkRoomPersonalInfo);

	List<RoomRegisterListView> printRoom(Long pkServicePoint);

	RoomView queryByPkRoom(Long pkRoom);
}
